Threaded Code Generation with a Meta-Tracing JIT Compiler.

نویسندگان

چکیده

Language implementation frameworks, e.g., RPython and Truffle/Graal, are practical tools for creating efficient virtual machines, including a well-functioning just-in-time (JIT) compiler. It is demanding to support multitier JIT compilation in such framework language developers. This paper presents an idea generate threaded code by reusing existing meta-tracing compiler, as well interpreter design it. Our approach does not largely modify itself but constructs effective definition enable generation RPython. We expect our system be extended multilevel the framework. measured potential performance of simulating its behavior PyPy. confirmed that reduced sizes 80 \% times 60 compared PyPy's compiler on average, ran about 7 faster than interpreter-only execution.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Compiler Technology for Migrating Sequential Code to Multi-threaded Architectures

Executing sequential code in parallel on a multithreaded machine has been an elusive goal for many years. It has recently become quite important due to the widespread introduction of multi-cores in PCs. Automatic multi-threading could not be achieved so far because classic compiler analysis was not powerful enough and program behavior was found to be in many cases input dependent. Run time, spe...

متن کامل

OpenJIT—A Reflective Java JIT Compiler

The so-called ‘Open Compilers’ is a technique to incorporate various self-descriptive modules for language customization and optimization based on computational reflection. We apply the open compiler technique to a Java Just-In-Time compiler to develop the OpenJIT compiler, which allows class-specific customization and optimization, fostering research of new compilation techniques such as appli...

متن کامل

pylibjit: A JIT Compiler Library for Python

We present pylibjit, a Python library for generating machine code at load time or run time. The library can be used for dynamic code generation, although it is mainly aimed at optimizing compilation of existing Python function definitions. Python functions can be compiled by simply annotating them with a decorator specifying data types. The pylibjit compiler takes advantage of this type informa...

متن کامل

A Retargetable JIT Compiler for Java

Interpreted Java has poor performance. Therefore most Java Virtual Machines (JVM) contain a just-in-time compiler (JIT) that compiles the bytecode to the processor’s native instruction set. Most of these compilers are written in C and tightly integrated with the JVM. We describe a JIT compiler that is written in Java and retargetable to a different JVMs and CPUs.

متن کامل

Code Generation in the Columbia Esterel Compiler

The synchronous language Esterel provides deterministic concurrency by adopting a semantics in which threads march in step with a global clock and communicate in a very disciplined way. Its expressive power comes at a cost, however: it is a difficult language to compile into machine code for standard von Neumann processors. The open-source Columbia Esterel Compiler is a research vehicle for exp...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: The Journal of Object Technology

سال: 2022

ISSN: ['1660-1769']

DOI: https://doi.org/10.5381/jot.2022.21.2.a1